]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
windowManager: Change effect's brightness property
authorFlorian Müllner <fmuellner@gnome.org>
Sun, 22 Jul 2018 01:31:54 +0000 (03:31 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Tue, 6 Aug 2019 21:54:29 +0000 (23:54 +0200)
The set_brightness() method is the most convenient way of controlling
the effect's brightness, but Clutter animations only deal with properties,
so start using the (ClutterColor) brightness property instead.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/666

js/ui/windowManager.js

index f7e4dc211fa29bdff92a3997cbbad5a33e0f809a..1d1f244ad466f228bc547cc1eb5f81c5a3de7df3 100644 (file)
@@ -127,7 +127,8 @@ var WindowDimmer = class {
     }
 
     _syncEnabled() {
-        this._brightnessEffect.enabled = (this._enabled && this._dimFactor > 0);
+        let dimmed = this._brightnessEffect.brightness.red != 127;
+        this._brightnessEffect.enabled = (this._enabled && dimmed);
     }
 
     setEnabled(enabled) {
@@ -144,14 +145,17 @@ var WindowDimmer = class {
                 time: (dimmed ? DIM_TIME : UNDIM_TIME) / 1000,
                 transition: 'linear',
                 onUpdate: () => {
-                    let brightness = this._dimFactor * DIM_BRIGHTNESS;
-                    this._brightnessEffect.set_brightness(brightness);
+                    let val = 127 * (1 + this._dimFactor * DIM_BRIGHTNESS);
+                    let color = Clutter.Color.new(val, val, val, 255);
+                    this._brightnessEffect.brightness = color;
                     this._syncEnabled();
                 }
             });
         } else {
             this._dimFactor = factor;
-            this._brightnessEffect.set_brightness(factor * DIM_BRIGHTNESS);
+            let val = 127 * (1 + this._dimFactor * DIM_BRIGHTNESS);
+            let color = Clutter.Color.new(val, val, val, 255);
+            this._brightnessEffect.brightness = color;
             this._syncEnabled();
         }
     }